<?php

/**
 * function:实现基于swoole的毫秒级任务调度
 * created:2019-09-25
 * author:zhulei
 */

namespace App\Jobs\Timer;
use Hhxsv5\LaravelS\Swoole\Timer\CronJob;
use Illuminate\Support\Facades\Log;

class TestCronJob extends CronJob
{
    protected $i = 0;

    public function run()
    {
        Log::info(__METHOD__, ['start', $this->i, microtime(true)]);
        $this->i++;
        if ($this->i == 3) { // 总共运行3次
            Log::info(__METHOD__, ['stop', $this->i, microtime(true)]);
            $this->stop(); // 清除定时器  \Swoole\Timer::clear的实现
        }
    }

    //执行任务 每1s 执行一次 这个就是设置的时间 可以随便调整
    public function interval()
    {
        return 1000;
    }

    //是否在设置之后立即触发 run
    public function isImmediate()
    {
        return false;
    }



}
